/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upn.sigemfi.vfi.beans;

import edu.upn.sigemfi.ope.be.Moneda;
import edu.upn.sigemfi.ope.be.Ventanilla;
import edu.upn.sigemfi.vfi.bc.TransaccionDelegate;
import edu.upn.sigemfi.vfi.be.SaldoCaja;

import edu.upn.sigemfi.vfi.be.Transaccion;

import java.util.List;
import javax.faces.event.ValueChangeEvent;

/**
 *
 * @author Programador
 */
public class TransaccionController extends AbstractController {

    private TransaccionDelegate delegado;
    private String tipoOperacion;
    private Transaccion transaccion;
    private boolean recepcion;
    private Moneda monedaSeleccionada;
    private SaldoCaja saldoCajaSeleccionada;
    private Ventanilla ventanillaSeleccionada;

    public TransaccionController() {
        delegado = new TransaccionDelegate();

        this.recepcion = false;
    //    this.tipoOperacion = "compra";

    }

    public List<Transaccion> getTransacciones() {
        try {
            return delegado.listar();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public String nuevo() {
        // transaccion = new Transaccion();
        return "nuevo";
    }

    public String registrar() {
        try {
            delegado.crear(transaccion);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public Transaccion getTransaccion() {
        return transaccion;
    }

    public void setTransaccion(Transaccion transaccion) {
        this.transaccion = transaccion;
    }

    //prueba
    public String getTipoOperacion() {
        return tipoOperacion;
    }

    public void setTipoOperacion(String tipoOperacion) {
        this.tipoOperacion = tipoOperacion;
    }

    public boolean isRecepcion() {
        return recepcion;
    }

    public void setRecepcion(boolean recepcion) {
        this.recepcion = recepcion;
    }

    public String SeleccionOperacion(ValueChangeEvent evt) {
        String nuevoValor = (String) evt.getNewValue();
        recepcion = nuevoValor.equals("recepcion") ? false : true;
        return "";
    }

    public String RealizarOperacion() {
        return tipoOperacion;
    }

    /**
     * @return the monedaSeleccionada
     */
    public Moneda getMonedaSeleccionada() {
        return monedaSeleccionada;
    }

    /**
     * @param monedaSeleccionada the monedaSeleccionada to set
     */
    public void setMonedaSeleccionada(Moneda monedaSeleccionada) {
        this.monedaSeleccionada = monedaSeleccionada;
    }

    /**
     * @return the ventanillaSeleccionada
     */
    public Ventanilla getVentanillaSeleccionada() {
        return ventanillaSeleccionada;
    }

    /**
     * @param ventanillaSeleccionada the ventanillaSeleccionada to set
     */
    public void setVentanillaSeleccionada(Ventanilla ventanillaSeleccionada) {
        this.ventanillaSeleccionada = ventanillaSeleccionada;
    }

    /**
     * @return the saldoCajaSeleccionada
     */
    public SaldoCaja getSaldoCajaSeleccionada() {
        return saldoCajaSeleccionada;
    }

    /**
     * @param saldoCajaSeleccionada the saldoCajaSeleccionada to set
     */
    public void setSaldoCajaSeleccionada(SaldoCaja saldoCajaSeleccionada) {
        this.saldoCajaSeleccionada = saldoCajaSeleccionada;
    }
}
